Lenguaje PHP

Leer archivo Excel con PHP: Descargar ejemplo

Leer archivo Excel con PHP.  En este artículo veremos la forma de leer un fichero Excel con extensión (.xlxs). Sin embargo, para lograr tal resultado usaremos librerías externas como el PHPExcel disponible para descarga desde su repositorio oficial.

Nota Importante
La última versión de PHPExcel, 1.8.1, se lanzó en 2015. El proyecto quedó oficialmente obsoleto en 2017 y se archivó permanentemente en 2019.
Ver artículos con PHPSpreadsheet
Usar la Librería PHPSpreadsheet
La Librería PHPExcel ya no tiene soporte por parte de los autores, se recomienda usar PHPSpreadsheet una librería muy potente para manejar ficheros tipo Excel con PHP.
Ver artículos con PHPSpreadsheet
Importar ficheros Excel

Los sistemas actuales tienen que ser muy flexibles y uno de estas características es de admitir importar información de un archivo de Excel para almacenarlo en la base de datos como registros en MySQL.

¿Qué es PHPExcel?

Cabe resaltar que PHPExcel es una librería para importar y exportar hojas de cálculo (Archivos de Excel), que nos permite leer y escribir archivos.

¿Qué recursos necesito para leer un archivo Excel?

Necesitamos varios recursos y los detallaremos a continuación.

a) Lenguaje PHP.- Es el lenguaje base para este ejemplo.

b) Librería PHPExcel.- Nos permitirá leer archivos Excel.

c) Framework BootStrap.- Nos dará la interfaz profesional para este ejemplo

d) Fichero Excel.- Un fichero de ejemplo para poder leerlo con PHP

e) Lenguaje de marcas HTML.- Estructura de nuestro ejemplo usando HTML5

Leer archivo Excel con PHP
Leer archivo Excel con PHP

El componente principal a tener en cuenta es descargar la librería PHPExcel del repositorio oficial en Github.

Descargar repositorio PHPExcel: https://github.com/PHPOffice/PHPExcel

Leer archivo Excel con PHP

A continuación, veremos los procedimientos para implementar un sistema completo para poder leer ficheros Excel y que posteriormente pueda ser importado a MySQL como registros. Además, el fichero será con extensión (.xlsx).

Procedimiento del Sistema

El procedimiento consta de 5 pasos que debemos de implementar para lograr nuestro objetivo.

Primer paso: Declarar la librería PHPExcel

Lo primero es declarar la carpeta PHPExcel y debe estar ubicada dentro de nuestro proyecto, veamos un ejemplo.

Estructura de PHPExcel
Estructura de PHPExcel

Segundo paso: Declarar librería externas BootStrap

Además, también podemos incluir librerías externas de BootStrap.

Tercer paso: Incluir la librería dentro del Fichero

Usando la función require_once podemos llamar a la librería para que pueda leer nuestros ficheros Excel.

// Debemos incluir la libreria
require_once 'PHPExcel/Classes/PHPExcel.php';

Cuarto paso: Variable contenedor del archivo Excel

Se usara la variable llamada «$archivo» que contendrá el nombre de un fichero Excel con su respectiva extensión. Sin embargo, también se podría usar un formulario HTML para cargar un fichero y poder asignarlo a la variable «$archivo«.

$archivo = "ListaPersonal.xlsx";
Leer archivo excel con PHPExcel
Leer archivo excel con PHPExcel

Quinto paso: Visualizar la información del Excel

Para este paso nos podemos apoyar en el ciclo FOR para devolver los registros de nuestro Excel. Por lo tanto, PHPExcel leerá cada celda de nuestro archivo Excel y los devolverá en el navegador.

Si observamos, «$sheet->getCell("A".$row)->getValue();«, está llamando a la celda «A» y así sucesivamente hasta la celda «D«. Sin embargo, como es un ciclo devolverá todos los resultados del Excel.

<?php
$num=0;
for ($row = 2; $row <= $highestRow; $row++){ $num++;?>
       <tr>
          <th scope='row'><?php echo $num;?></th>
          <td><?php echo $sheet->getCell("A".$row)->getValue();?></td>
          <td><?php echo $sheet->getCell("B".$row)->getValue();?></td>
          <td><?php echo $sheet->getCell("C".$row)->getValue();?></td>
          <td><?php echo $sheet->getCell("D".$row)->getValue();?></td>
        </tr>
    <?php    
}
?>

Mostrando el ejemplo completo: Leer archivo Excel con PHP

En este punto vemos el código completo para leer ficheros Excel

<body>
<div class="container">
    <h2>Ejemplo: Leer Archivos Excel con PHP</h2>   
    <div class="panel panel-primary">
      <div class="panel-heading">
        <h3 class="panel-title">Resultados de archivo de Excel.</h3>
      </div>
      <div class="panel-body">
        <div class="col-lg-12">
            
<?php
require_once 'PHPExcel/Classes/PHPExcel.php';
$archivo = "ListaPersonal.xlsx";
$inputFileType = PHPExcel_IOFactory::identify($archivo);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($archivo);
$sheet = $objPHPExcel->getSheet(0); 
$highestRow = $sheet->getHighestRow(); 
$highestColumn = $sheet->getHighestColumn();
?>
<table class="table table-bordered">
      <thead>
        <tr>
          <th>#</th>
          <th>Nombres</th>
          <th>Apellidos</th>
          <th>Cargo</th>
          <th>Sede</th>
        </tr>
      </thead>
      <tbody>
<?php
$num=0;
for ($row = 2; $row <= $highestRow; $row++){ $num++;?>
       <tr>
          <th scope='row'><?php echo $num;?></th>
          <td><?php echo $sheet->getCell("A".$row)->getValue();?></td>
          <td><?php echo $sheet->getCell("B".$row)->getValue();?></td>
          <td><?php echo $sheet->getCell("C".$row)->getValue();?></td>
          <td><?php echo $sheet->getCell("D".$row)->getValue();?></td>
        </tr>
    <?php    
}
?>
         </tbody>
    </table>
  </div>  
 </div>   
</div>
</body>

Resultado en el navegador

La siguiente imagen muestra la ejecución del script PHP en el navegador web.

Visualizar contenido de excel con PHP
Visualizar contenido de excel con PHP

CONCLUSIÓN: Leer archivo Excel con PHP

En comentarios me solicitaron con leer archivos Excel usando PHP. Justamente, aquí les mostré el ejercicio completo para leer ficheros Excel.

Como han podido apreciar la implementación de lectura es sencilla y esperando que esta breve explicación les ayude en sus proyectos web.

Nota: El archivo de prueba, les dejare en el paquete comprimido que tiene todos los recursos para este ejemplo.

Descargar Ejemplo

Les dejare un enlace para que descarguen el código completo del presente artículo.

[divider] [divider]
Mostrar más

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.
Botón volver arriba
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Privacidad